<html>

<head>
<title>List file of class java/lang/Thread</title>
</head>

<body bgcolor="#FFFFFF">

<pre>
              <b><i><font color="#0000FF">  /*</font></b></i>
              <b><i><font color="#0000FF">  ** simpleRTJ java language core library component.</font></b></i>
              <b><i><font color="#0000FF">  **</font></b></i>
              <b><i><font color="#0000FF">  ** See the http://www.gnu.org/copyleft/gpl.html for</font></b></i>
              <b><i><font color="#0000FF">  ** details on usage and redistribution of this file.</font></b></i>
              <b><i><font color="#0000FF">  */</font></b></i>
              <b><i><font color="#0000FF">  package java.lang;</font></b></i>
              <b><i><font color="#0000FF">  </font></b></i>
              <b><i><font color="#0000FF">  /**</font></b></i>
              <b><i><font color="#0000FF">   * Class that will run in a separate thread must subclass Thread.</font></b></i>
              <b><i><font color="#0000FF">   *</font></b></i>
              <b><i><font color="#0000FF">   * For detailed description of this class see the Java language documentation.</font></b></i>
              <b><i><font color="#0000FF">   */</font></b></i>
              <b><i><font color="#0000FF">  public class Thread implements Runnable</font></b></i>
              <b><i><font color="#0000FF">  {</font></b></i>
              <b><i><font color="#0000FF">      private Runnable target;</font></b></i>
              <b><i><font color="#0000FF">      private boolean interrupting;</font></b></i>
              <b><i><font color="#0000FF">      private boolean daemon = false;</font></b></i>
<font color="#800080">
<b>[Instance initialisation method: &ltinit&gt]</b>
000280 2A                  aload_0             
000281 B70100              invokespecial       void java/lang/Object.&lt;init&gt;()
000284 2A                  aload_0             
000285 03                  iconst_0            
000286 B50200              putfield            boolean java/lang/Thread.daemon
000289 2A                  aload_0             
00028A 2B                  aload_1             
00028B B50300              putfield            java/lang/Runnable java/lang/Thread.target
00028E 2A                  aload_0             
00028F 03                  iconst_0            
000290 B50400              putfield            boolean java/lang/Thread.interrupting
000293 2A                  aload_0             
000294 B80500              invokestatic        java/lang/Thread java/lang/Thread.currentThread()
000297 B60600              invokevirtual       boolean java/lang/Thread.isDaemon()
00029A B60700              invokevirtual       void java/lang/Thread.setDaemon(boolean)
00029D B1                  return              
</font>
              <b><i><font color="#0000FF">  </font></b></i>
              <b><i><font color="#0000FF">      /**</font></b></i>
              <b><i><font color="#0000FF">       * Creates a Thread object.</font></b></i>
              <b><i><font color="#0000FF">       */</font></b></i>
              <b><i><font color="#0000FF">      public Thread()</font></b></i>
              <b><i><font color="#0000FF">      {</font></b></i>
              <b><i><font color="#0000FF">          this(null);</font></b></i>
<font color="#800080">
000268 2A                  aload_0             
000269 01                  aconst_null         
00026A B70000              invokespecial       void java/lang/Thread.&lt;init&gt;(java/lang/Runnable)
</font>
              <b><i><font color="#0000FF">      }</font></b></i>
<font color="#800080">
00026D B1                  return              
</font>
              <b><i><font color="#0000FF">  </font></b></i>
              <b><i><font color="#0000FF">      /**</font></b></i>
              <b><i><font color="#0000FF">       * Creates a Thread object with specified target.</font></b></i>
              <b><i><font color="#0000FF">       */</font></b></i>
              <b><i><font color="#0000FF">      public Thread(Runnable target)</font></b></i>
              <b><i><font color="#0000FF">      {</font></b></i>
<font color="#800080">
000280 2A                  aload_0             
000281 B70100              invokespecial       void java/lang/Object.&lt;init&gt;()
000284 2A                  aload_0             
000285 03                  iconst_0            
000286 B50200              putfield            boolean java/lang/Thread.daemon
</font>
              <b><i><font color="#0000FF">          this.target = target;</font></b></i>
<font color="#800080">
000289 2A                  aload_0             
00028A 2B                  aload_1             
00028B B50300              putfield            java/lang/Runnable java/lang/Thread.target
</font>
              <b><i><font color="#0000FF">          this.interrupting = false;</font></b></i>
<font color="#800080">
00028E 2A                  aload_0             
00028F 03                  iconst_0            
000290 B50400              putfield            boolean java/lang/Thread.interrupting
</font>
              <b><i><font color="#0000FF">  </font></b></i>
              <b><i><font color="#0000FF">          setDaemon(currentThread().isDaemon());</font></b></i>
<font color="#800080">
000293 2A                  aload_0             
000294 B80500              invokestatic        java/lang/Thread java/lang/Thread.currentThread()
000297 B60600              invokevirtual       boolean java/lang/Thread.isDaemon()
00029A B60700              invokevirtual       void java/lang/Thread.setDaemon(boolean)
</font>
              <b><i><font color="#0000FF">      }</font></b></i>
<font color="#800080">
00029D B1                  return              
</font>
              <b><i><font color="#0000FF">  </font></b></i>
              <b><i><font color="#0000FF">      public static void sleep(int millis, int nanos) throws InterruptedException</font></b></i>
              <b><i><font color="#0000FF">      {</font></b></i>
              <b><i><font color="#0000FF">          sleep(millis);</font></b></i>
              <b><i><font color="#0000FF">      }</font></b></i>
              <b><i><font color="#0000FF">  </font></b></i>
              <b><i><font color="#0000FF">      /**</font></b></i>
              <b><i><font color="#0000FF">       * Currently running thread sleeps for the specified number of</font></b></i>
              <b><i><font color="#0000FF">       * milliseconds.</font></b></i>
              <b><i><font color="#0000FF">       */</font></b></i>
              <b><i><font color="#0000FF">      public static void sleep(int millis) throws InterruptedException</font></b></i>
              <b><i><font color="#0000FF">      {</font></b></i>
              <b><i><font color="#0000FF">          sleep0(millis);</font></b></i>
              <b><i><font color="#0000FF">          if (Thread.interrupted())</font></b></i>
              <b><i><font color="#0000FF">              throw new InterruptedException();</font></b></i>
              <b><i><font color="#0000FF">      }</font></b></i>
              <b><i><font color="#0000FF">  </font></b></i>
              <b><i><font color="#0000FF">      public void interrupt()</font></b></i>
              <b><i><font color="#0000FF">      {</font></b></i>
              <b><i><font color="#0000FF">          interrupting = true;</font></b></i>
              <b><i><font color="#0000FF">          interrupt0();</font></b></i>
              <b><i><font color="#0000FF">      }</font></b></i>
              <b><i><font color="#0000FF">  </font></b></i>
              <b><i><font color="#0000FF">      public static boolean interrupted()</font></b></i>
              <b><i><font color="#0000FF">      {</font></b></i>
              <b><i><font color="#0000FF">          boolean intr = Thread.currentThread().interrupting;</font></b></i>
              <b><i><font color="#0000FF">          Thread.currentThread().interrupting = false;</font></b></i>
              <b><i><font color="#0000FF">          return intr;</font></b></i>
              <b><i><font color="#0000FF">      }</font></b></i>
              <b><i><font color="#0000FF">  </font></b></i>
              <b><i><font color="#0000FF">      public boolean isInterrupted()</font></b></i>
              <b><i><font color="#0000FF">      {</font></b></i>
              <b><i><font color="#0000FF">          return interrupting;</font></b></i>
              <b><i><font color="#0000FF">      }</font></b></i>
              <b><i><font color="#0000FF">  </font></b></i>
              <b><i><font color="#0000FF">      /**</font></b></i>
              <b><i><font color="#0000FF">       * Currently executing thread pauses and allow other threads to run.</font></b></i>
              <b><i><font color="#0000FF">       */</font></b></i>
              <b><i><font color="#0000FF">      public static native void yield();</font></b></i>
              <b><i><font color="#0000FF">  </font></b></i>
              <b><i><font color="#0000FF">      /**</font></b></i>
              <b><i><font color="#0000FF">       * Calling this method will cause the thread to begin execution</font></b></i>
              <b><i><font color="#0000FF">       */</font></b></i>
              <b><i><font color="#0000FF">      public synchronized native void start();</font></b></i>
              <b><i><font color="#0000FF">  </font></b></i>
              <b><i><font color="#0000FF">      /**</font></b></i>
              <b><i><font color="#0000FF">       * Makes the thread to stop running.</font></b></i>
              <b><i><font color="#0000FF">       */</font></b></i>
              <b><i><font color="#0000FF">      public native final void stop();</font></b></i>
              <b><i><font color="#0000FF">  </font></b></i>
              <b><i><font color="#0000FF">      /**</font></b></i>
              <b><i><font color="#0000FF">       * Thread execution method.</font></b></i>
              <b><i><font color="#0000FF">       * Subclasses must override this method to implement required functionality.</font></b></i>
              <b><i><font color="#0000FF">       */</font></b></i>
              <b><i><font color="#0000FF">      public void run()</font></b></i>
              <b><i><font color="#0000FF">      {</font></b></i>
              <b><i><font color="#0000FF">          if (target != null)</font></b></i>
0002B0 2A                  aload_0             
0002B1 B40300              getfield            java/lang/Runnable java/lang/Thread.target
0002B4 C60C00              ifnull              PC=02C0
              <b><i><font color="#0000FF">              target.run();</font></b></i>
0002B7 2A                  aload_0             
0002B8 B40300              getfield            java/lang/Runnable java/lang/Thread.target
0002BB B908000100          invokeinterface     void java/lang/Runnable.run()
              <b><i><font color="#0000FF">      }</font></b></i>
0002C0 B1                  return              
              <b><i><font color="#0000FF">  </font></b></i>
              <b><i><font color="#0000FF">      /**</font></b></i>
              <b><i><font color="#0000FF">       * Sets/clears the daemon flag for this thread.</font></b></i>
              <b><i><font color="#0000FF">       */</font></b></i>
              <b><i><font color="#0000FF">      public final void setDaemon(boolean set)</font></b></i>
              <b><i><font color="#0000FF">      {</font></b></i>
              <b><i><font color="#0000FF">              daemon = set;</font></b></i>
0002D4 2A                  aload_0             
0002D5 1B                  iload_1             
0002D6 B50200              putfield            boolean java/lang/Thread.daemon
              <b><i><font color="#0000FF">          setDaemon0(set);</font></b></i>
0002D9 2A                  aload_0             
0002DA 1B                  iload_1             
0002DB B70900              invokespecial       void java/lang/Thread.setDaemon0(boolean)
              <b><i><font color="#0000FF">      }</font></b></i>
0002DE B1                  return              
              <b><i><font color="#0000FF">  </font></b></i>
              <b><i><font color="#0000FF">      /**</font></b></i>
              <b><i><font color="#0000FF">       * Returns true if this thread is daemon.</font></b></i>
              <b><i><font color="#0000FF">       */</font></b></i>
              <b><i><font color="#0000FF">      public final boolean isDaemon()</font></b></i>
              <b><i><font color="#0000FF">      {</font></b></i>
              <b><i><font color="#0000FF">              return daemon;</font></b></i>
0002F4 2A                  aload_0             
0002F5 B40200              getfield            boolean java/lang/Thread.daemon
0002F8 AC                  ireturn             
              <b><i><font color="#0000FF">    }</font></b></i>
              <b><i><font color="#0000FF"></font></b></i>
              <b><i><font color="#0000FF">    /**</font></b></i>
              <b><i><font color="#0000FF">     * Waits for this thread to die.</font></b></i>
              <b><i><font color="#0000FF">     */</font></b></i>
              <b><i><font color="#0000FF">    public final void join() throws InterruptedException</font></b></i>
              <b><i><font color="#0000FF">    {</font></b></i>
              <b><i><font color="#0000FF">        join(0);</font></b></i>
              <b><i><font color="#0000FF">    }</font></b></i>
              <b><i><font color="#0000FF"></font></b></i>
              <b><i><font color="#0000FF">    /**</font></b></i>
              <b><i><font color="#0000FF">     * Waits specified number of milliseconds for this thread to die.</font></b></i>
              <b><i><font color="#0000FF">     */</font></b></i>
              <b><i><font color="#0000FF">    public final void join(int millis) throws InterruptedException</font></b></i>
              <b><i><font color="#0000FF">    {</font></b></i>
              <b><i><font color="#0000FF">        int timeout = System.currentTimeMillis() + millis;</font></b></i>
              <b><i><font color="#0000FF">        while (isAlive() && (millis == 0 || System.currentTimeMillis() &lt; timeout))</font></b></i>
              <b><i><font color="#0000FF">            yield();</font></b></i>
              <b><i><font color="#0000FF">    }</font></b></i>
              <b><i><font color="#0000FF"></font></b></i>
              <b><i><font color="#0000FF">    /**</font></b></i>
              <b><i><font color="#0000FF">     * Checks if this thread is alive</font></b></i>
              <b><i><font color="#0000FF">     */</font></b></i>
              <b><i><font color="#0000FF">    public native boolean isAlive();</font></b></i>
              <b><i><font color="#0000FF"></font></b></i>
              <b><i><font color="#0000FF">    /**</font></b></i>
              <b><i><font color="#0000FF">     * Suspends this thread.</font></b></i>
              <b><i><font color="#0000FF">     */</font></b></i>
              <b><i><font color="#0000FF">    public native final void suspend();</font></b></i>
              <b><i><font color="#0000FF"></font></b></i>
              <b><i><font color="#0000FF">    /**</font></b></i>
              <b><i><font color="#0000FF">     * Resumes a suspended thread.</font></b></i>
              <b><i><font color="#0000FF">     */</font></b></i>
              <b><i><font color="#0000FF">    public native final void resume();</font></b></i>
              <b><i><font color="#0000FF"></font></b></i>
              <b><i><font color="#0000FF">    /**</font></b></i>
              <b><i><font color="#0000FF">     * Returns reference to current thread.</font></b></i>
              <b><i><font color="#0000FF">     */</font></b></i>
              <b><i><font color="#0000FF">    public static native Thread currentThread();</font></b></i>
              <b><i><font color="#0000FF"></font></b></i>
              <b><i><font color="#0000FF">    private static native void sleep0(int millis);</font></b></i>
              <b><i><font color="#0000FF">    private native void interrupt0();</font></b></i>
              <b><i><font color="#0000FF">    private native void setDaemon0(boolean set);</font></b></i>
              <b><i><font color="#0000FF">}</font></b></i>

</pre>
</body>
</html>
